package vaccine.appointment.system.statistics.service;

import vaccine.appointment.system.statistics.vo.AppointmentTrendVO;
import vaccine.appointment.system.statistics.vo.SiteStatisticsVO;
import vaccine.appointment.system.statistics.vo.SystemOverviewVO;

import java.time.LocalDate;
import java.util.List;

/**
 * 统计服务接口
 */
public interface StatisticsService {

    /**
     * 获取系统概览统计
     * @return 系统概览统计数据
     */
    SystemOverviewVO getSystemOverview();

    /**
     * 获取预约趋势统计
     * @param startDate 开始日期
     * @param endDate 结束日期
     * @return 预约趋势列表
     */
    List<AppointmentTrendVO> getAppointmentTrend(LocalDate startDate, LocalDate endDate);

    /**
     * 获取特定接种点的统计数据
     * @param siteId 接种点ID
     * @return 接种点统计数据
     */
    SiteStatisticsVO getSiteStatistics(Integer siteId);
}

